home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sml_nj / 93src.lha / src / basics / persstamps.sig < prev    next >
Encoding:
Text File  |  1993-01-27  |  822 b   |  33 lines

  1. (* Copyright 1992 by AT&T Bell Laboratories *)
  2. (* persstamps.sig *)
  3.  
  4. signature PERSSTAMPS =
  5. sig
  6.  
  7.   eqtype persstamp
  8.   type 'a stampMap
  9.  
  10.   (* generate new persistent stamp, unique over all time
  11.    * for a given machine class. *)
  12.   val newStamp : unit -> persstamp
  13.  
  14.   (* total ordering on persstamps *)
  15.   val less : persstamp * persstamp -> bool
  16.   val greater : persstamp * persstamp -> bool
  17.  
  18.   (* create a new stampMap for persistent stamps;
  19.    * raise given exception in applyMap if stamp 
  20.    * is not in the stampMap
  21.    *)
  22.   val newMap : exn -> '1a stampMap
  23.  
  24.   (* updateMap - add mapping to a stampMap *)
  25.   val updateMap : '2a stampMap -> persstamp * '2a -> unit
  26.  
  27.   (* applyMap - apply stampMap to a stamp *)
  28.   val applyMap : 'a stampMap * persstamp -> 'a
  29.  
  30.   val stampToString : persstamp -> string
  31.  
  32. end (* PERSSTAMPS *)
  33.